var __extends = this.__extends || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    __.prototype = b.prototype;
    d.prototype = new __();
};
var TSUI;
(function (TSUI) {
    (function (Exceptions) {
        var IncorrectTypeException = (function (_super) {
            __extends(IncorrectTypeException, _super);
            function IncorrectTypeException(GivenType, ExpectedType, Trace, InnerException) {
                if (typeof GivenType === "undefined") { GivenType = ""; }
                if (typeof ExpectedType === "undefined") { ExpectedType = ""; }
                if (typeof Trace === "undefined") { Trace = ""; }
                if (typeof InnerException === "undefined") { InnerException = null; }
                _super.call(this, "Incorrect type! Expected type " + ExpectedType + " got " + GivenType, Trace, InnerException);
                this.GivenType = GivenType;
                this.ExpectedType = ExpectedType;
                this.Trace = Trace;
                this.InnerException = InnerException;
            }
            return IncorrectTypeException;
        })(Exceptions.Exception);
        Exceptions.IncorrectTypeException = IncorrectTypeException;
    })(TSUI.Exceptions || (TSUI.Exceptions = {}));
    var Exceptions = TSUI.Exceptions;
})(TSUI || (TSUI = {}));
